package com.studyyoun.android.androidcommonbaselibrary.pagetrans;
/**
 * Created by zhaolong on 2017/10/23.
 * 站在顶峰，看世界
 * 落在谷底，思人生
 */

import android.support.v4.view.ViewPager;
import android.view.View;

/**
 * class infation
 * <p>
 * 书籍翻页渐隐
 * 1. View.setPivotX()设置锚点的X坐标值
 * 2. View.setPivotY()设置锚点的Y坐标值
 * 3. View.setScaleX()设置x轴的缩放系数
 * 4. View.setScaleY()设置Y轴的缩放系数
 * 5. View.setTranslationX()设置在X轴的平移值
 * 6. View.setTranslationY()设置在Y轴的平移值
 * 7. View.setTranslationZ()设置在Z轴的平移值
 * 8. View.setRotationX()设置绕X轴旋转中心的的旋转角度,旋转轴位置可以由View.setPivotY()设置Y轴的旋转中心
 * 9. View.setRotationY()设置绕Y轴旋转中心的的旋转角度,旋转轴位置可以由View.setPivotX()设置X轴的旋转中心
 * 10.View.setRotationZ()设置绕Z轴旋转中心的旋转角度,旋转中心由以上两个设置.
 * 11.View.setCameraDistance()设置相机距离View的距离,避免产生在绕Y轴或者X轴的旋转时产生画面糊脸的效果,一般要设置大一点.
 * 12.View.setAlpha()设置透明度
 */
public class BookFlippageFadePageTransormer implements ViewPager.PageTransformer {
    @Override
    public void transformPage(View page, float position) {
        if (position <= -1) {
            /*页面已经在屏幕左侧且不可视*/
            page.setAlpha(position);
        } else if (position <= 0) {
            /*页面从左侧进入或者向左侧滑出的状态*/
            page.setAlpha(1 + position);
            page.setPivotY(page.getHeight() / 2);
            page.setPivotX(0);
            page.setCameraDistance(60000);/*调整摄像机的位置，避免出现糊脸的感觉*/
            page.setRotationY((position * 180));
            page.setTranslationX(position * -page.getWidth());
        } else if (position <= 1) {
            /*页面从右侧进入或者向右侧滑出的状态*/
            page.setTranslationX(position * -page.getWidth());
        } else if (position > 1) {
            /*页面已经在屏幕右侧且不可视*/
            page.setTranslationX(position * -page.getWidth());
        }
    }
}
